/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved.
 */
#include "mcu_log.h"
#include "hlink_log_api.h"

void mcu_log_demo_init(void)
{
	/* 日志模块注册，需要设置日志模块mid、模块名、日志级别 */
    hlink_log_module_info_para mcu_info = {HLINK_MCU_MID, "APP", HLINK_LOG_INFO};
    hlink_log_module_register(&mcu_info);
}

void mcu_log_init(void)
{
    /* 注册mcu模块日志 */
	mcu_log_demo_init();

	/* 注册写日志接口 */
    //hlink_log_write_flash_register(hlink_log_write);

    /* 日志写内存 */
    hlink_log_zone_init();
	mcu_flash_log_zone_init();
	
}


#if 0

/*
* 功能: omip码流打印信息，用于调试
*/
void omip_print_io_bytes(const unsigned char *pp, unsigned short len, unsigned char sr, unsigned char node_id)
{
	hlink_log_level debug = MCU_LOG_DETAIL;
    if(sr){
        MCU_LOG(debug,"send frame(len:%d) to pyhs node(id:%d):\r\n",len, node_id);
    }
    else
    {
        MCU_LOG(debug,"recv frame(len:%d) from pyhs node(id:%d):\r\n",len, node_id);
    }

    for(int i = 0; i< len; i+= 16)
    {
        if(i+16 <= len) {
            MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8],pp[i+9],pp[i+10],pp[i+11],pp[i+12],pp[i+13],
                pp[i+14],pp[i+15]);
        }
        else
        {
            switch(len - i)
            {
                case 15:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8],pp[i+9],pp[i+10],pp[i+11],pp[i+12],pp[i+13],
                pp[i+14]);
                break;
                case 14:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8],pp[i+9],pp[i+10],pp[i+11],pp[i+12],pp[i+13]);
                break;
                case 13:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8],pp[i+9],pp[i+10],pp[i+11],pp[i+12]);
                break;
                case 12:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8],pp[i+9],pp[i+10],pp[i+11]);
                break;
                case 11:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8],pp[i+9],pp[i+10]);
                break;
                case 10:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8],pp[i+9]);
                break;
                case 9:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7],pp[i+8]);
                break;
                case 8:
                MCU_LOG(debug,"%x %x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6],
                pp[i+7]);
                break;
                case 7:
                MCU_LOG(debug,"%x %x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5],pp[i+6]);
                break;
                case 6:
                MCU_LOG(debug,"%x %x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4],pp[i+5]);
                break;
                case 5:
                MCU_LOG(debug,"%x %x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3],pp[i+4]);
                break;

                case 4:
                MCU_LOG(debug,"%x %x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2],pp[i+3]);
                break;

                case 3:
                MCU_LOG(debug,"%x %x %x\r\n",
                pp[i+0],pp[i+1],pp[i+2]);
                break;

                case 2:
                MCU_LOG(debug,"%x %x\r\n",
                pp[i+0],pp[i+1]);
                break;

                case 1:
                MCU_LOG(debug,"%x\r\n",
                pp[i+0]);
                break;
                default:
                    break;

            }

        }
    }
    MCU_LOG(debug,"\r\n");
}
#endif 

